Implicitly synchronized abstract data types: data structures for modular parallel programming

نویسنده

  • Martin C. Rinard
چکیده

Abstract data types are used to control the complexity of developing serial programs. They promote modular programming by encapsulating state and operations on that state. In parallel environments abstract data types must also encapsulate the synchronization required to correctly sequence the invocation of specific operations. An abstract data type is implicitly synchronized if it completely encapsulates the synchronization required for its use. Implicitly synchronized abstract data types promote modularity and help programmers manage the complexity of developing parallel software. This paper introduces the concept of implicitly synchronized abstract data types and shows how the implicitly parallel language Jade supports their development and use.data types are used to control the complexity of developing serial programs. They promote modular programming by encapsulating state and operations on that state. In parallel environments abstract data types must also encapsulate the synchronization required to correctly sequence the invocation of specific operations. An abstract data type is implicitly synchronized if it completely encapsulates the synchronization required for its use. Implicitly synchronized abstract data types promote modularity and help programmers manage the complexity of developing parallel software. This paper introduces the concept of implicitly synchronized abstract data types and shows how the implicitly parallel language Jade supports their development and use.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Modular Implementation of Data Structures in Bulk-Synchronous Parallel ML

A functional data-parallel language called BSML has been designed for programming Bulk-Synchronous Parallel algorithms. Many sequential algorithms do not have parallel counterparts and many non-computer science researchers do not want to deal with parallel programming. In sequential programming environments, common data structures are often provided through reusable libraries to simplify the de...

متن کامل

TS/Scheme: Distributed Data Structures in Lisp

NEC Research Institute, 4 Independence Way, Princeton, NJ 08540 Abstract. We describe a parallel object-oriented dialect of Scheme called ts/scheme that provides a simple and expressive interface for building asynchronous parallel programs. The main component in ts/scheme’s coordination framework is an abstraction that serves the role of a distributed data structure. Distributed data structures...

متن کامل

Enabling Modular Verification of Concurrent Programs with Abstract Interference Contracts

When concurrent threads of execution do not modify shared data, their parallel execution is trivially equivalent to their sequential execution. For many imperative programming languages, however, the modular verification of this independence is often frustrated by (i) the possibility of aliasing between variables mentioned in different threads, and (ii) the lack of abstraction in the descriptio...

متن کامل

Profunctor Optics: Modular Data Accessors

Data accessors allow one to read and write components of a data structure, such as the fields of a record, the variants of a union, or the elements of a container. These data accessors are collectively known as optics; they are fundamental to programs that manipulate complex data. Individual data accessors for simple data structures are easy to write, for example as pairs of ‘getter’ and ‘sette...

متن کامل

Enabling Modular Verification with Abstract Interference Specifications for a Concurrent Queue

When concurrent threads of execution do not modify shared data, their parallel execution is trivially equivalent to their sequential execution. For many imperative programming languages, however, the modular verification of this independence is often frustrated by (i) the possibility of aliasing between variables mentioned in the different threads, and (ii) the lack of abstraction in the descri...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • J. Prog. Lang.

دوره 6  شماره 

صفحات  -

تاریخ انتشار 1998